package map.Test03;

import java.util.Map;
import java.util.Set;
import java.util.TreeMap;

/**
 * 请使用TreeMap集合保存劳模信息,要求以劳模对象为键,家庭住址为值,并按照劳模的年龄从大到小排序后输出;
 *
 * 信息如下:
 *
 * 18岁的张三,北京
 *
 * 20岁的李四,上海
 *
 * 35岁的王五,天津
 *
 * 21岁的赵六,北京
 *
 * 19岁的田七,上海
 *
 * **要求:**
 *
 * 1:劳模类中有姓名和年龄两个属性;
 *
 * 2:添加上述信息后,使用代码删除张三的信息
 *
 * 3:添加上述信息后,使用代码修改李四的家庭住址为郑州
 *
 * 4:使用至少两种方式遍历集合中的信息并输出;
 */

public class Test03 {
    public static void main(String[] args) {
        TreeMap<Person,String> treeMap = new TreeMap<>();
        Person person1 = new Person("张三", 18);
        Person person2 = new Person("李四", 20);
        Person person3 = new Person("王五", 35);
        Person person4 = new Person("赵六", 21);
        Person person5 = new Person("田七", 19);

        treeMap.put(person1, "北京");
        treeMap.put(person2, "上海");
        treeMap.put(person3, "天津");
        treeMap.put(person4, "北京");
        treeMap.put(person5, "上海");


        Set<Person> keySet = treeMap.keySet();
        /*for (Person person : keySet) {
            //        删除张三
            if ("张三".equals(person.getName())) {
                treeMap.remove(person);
            }
            //        修改李四的家庭住址为郑州
            if ("李四".equals(person.getName())) {
                treeMap.put(person, "郑州");
            }
        }*/

//        forEach遍历map集合
        treeMap.forEach((Person,String)->{
            System.out.println(Person.getName()+Person.getAge()+String);
        });

        System.out.println("-----------------------------------");

//        通过键找值 增强for遍历map集合
//        Set<Person> keySet = treeMap.keySet();
        for (Person person : keySet) {
            System.out.println(person.getName()+person.getAge()+treeMap.get(person));
        }

        System.out.println("-----------------------------------");

//        通过键值对对象 增强for遍历map集合
        Set<Map.Entry<Person, String>> map = treeMap.entrySet();
        for (Map.Entry<Person, String> m : map) {
            System.out.println(m.getKey().getName()+m.getKey().getAge()+m.getValue());
        }
    }
}
